<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>binocular_distance_mg [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_3dreconstruction.html">3D Reconstruction</a> / <a href="toc_3dreconstruction_binocularstereo.html">Binocular Stereo</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">binocular_distance_mg</span><span data-if="c" style="display:none;">T_binocular_distance_mg</span><span data-if="cpp" style="display:none;">BinocularDistanceMg</span><span data-if="dotnet" style="display:none;">BinocularDistanceMg</span><span data-if="python" style="display:none;">binocular_distance_mg</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">binocular_distance_mg</span><span data-if="c" style="display:none;">T_binocular_distance_mg</span><span data-if="cpp" style="display:none;">BinocularDistanceMg</span><span data-if="dotnet" style="display:none;">BinocularDistanceMg</span><span data-if="python" style="display:none;">binocular_distance_mg</span></code> — Compute the distance values for a rectified stereo image pair using
multigrid methods.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>binocular_distance_mg</b>(<a href="#ImageRect1"><i>ImageRect1</i></a>, <a href="#ImageRect2"><i>ImageRect2</i></a> : <a href="#Distance"><i>Distance</i></a>, <a href="#Score"><i>Score</i></a> : <a href="#CamParamRect1"><i>CamParamRect1</i></a>, <a href="#CamParamRect2"><i>CamParamRect2</i></a>, <a href="#RelPoseRect"><i>RelPoseRect</i></a>, <a href="#GrayConstancy"><i>GrayConstancy</i></a>, <a href="#GradientConstancy"><i>GradientConstancy</i></a>, <a href="#Smoothness"><i>Smoothness</i></a>, <a href="#InitialGuess"><i>InitialGuess</i></a>, <a href="#CalculateScore"><i>CalculateScore</i></a>, <a href="#MGParamName"><i>MGParamName</i></a>, <a href="#MGParamValue"><i>MGParamValue</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_binocular_distance_mg</b>(const Hobject <a href="#ImageRect1"><i>ImageRect1</i></a>, const Hobject <a href="#ImageRect2"><i>ImageRect2</i></a>, Hobject* <a href="#Distance"><i>Distance</i></a>, Hobject* <a href="#Score"><i>Score</i></a>, const Htuple <a href="#CamParamRect1"><i>CamParamRect1</i></a>, const Htuple <a href="#CamParamRect2"><i>CamParamRect2</i></a>, const Htuple <a href="#RelPoseRect"><i>RelPoseRect</i></a>, const Htuple <a href="#GrayConstancy"><i>GrayConstancy</i></a>, const Htuple <a href="#GradientConstancy"><i>GradientConstancy</i></a>, const Htuple <a href="#Smoothness"><i>Smoothness</i></a>, const Htuple <a href="#InitialGuess"><i>InitialGuess</i></a>, const Htuple <a href="#CalculateScore"><i>CalculateScore</i></a>, const Htuple <a href="#MGParamName"><i>MGParamName</i></a>, const Htuple <a href="#MGParamValue"><i>MGParamValue</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>BinocularDistanceMg</b>(const HObject&amp; <a href="#ImageRect1"><i>ImageRect1</i></a>, const HObject&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HObject* <a href="#Distance"><i>Distance</i></a>, HObject* <a href="#Score"><i>Score</i></a>, const HTuple&amp; <a href="#CamParamRect1"><i>CamParamRect1</i></a>, const HTuple&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, const HTuple&amp; <a href="#RelPoseRect"><i>RelPoseRect</i></a>, const HTuple&amp; <a href="#GrayConstancy"><i>GrayConstancy</i></a>, const HTuple&amp; <a href="#GradientConstancy"><i>GradientConstancy</i></a>, const HTuple&amp; <a href="#Smoothness"><i>Smoothness</i></a>, const HTuple&amp; <a href="#InitialGuess"><i>InitialGuess</i></a>, const HTuple&amp; <a href="#CalculateScore"><i>CalculateScore</i></a>, const HTuple&amp; <a href="#MGParamName"><i>MGParamName</i></a>, const HTuple&amp; <a href="#MGParamValue"><i>MGParamValue</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect1"><i>CamParamRect1</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, const HPose&amp; <a href="#RelPoseRect"><i>RelPoseRect</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const HString&amp; <a href="#CalculateScore"><i>CalculateScore</i></a>, const HTuple&amp; <a href="#MGParamName"><i>MGParamName</i></a>, const HTuple&amp; <a href="#MGParamValue"><i>MGParamValue</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect1"><i>CamParamRect1</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, const HPose&amp; <a href="#RelPoseRect"><i>RelPoseRect</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const HString&amp; <a href="#CalculateScore"><i>CalculateScore</i></a>, const HString&amp; <a href="#MGParamName"><i>MGParamName</i></a>, const HString&amp; <a href="#MGParamValue"><i>MGParamValue</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect1"><i>CamParamRect1</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, const HPose&amp; <a href="#RelPoseRect"><i>RelPoseRect</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const char* <a href="#CalculateScore"><i>CalculateScore</i></a>, const char* <a href="#MGParamName"><i>MGParamName</i></a>, const char* <a href="#MGParamValue"><i>MGParamValue</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect1"><i>CamParamRect1</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, const HPose&amp; <a href="#RelPoseRect"><i>RelPoseRect</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const wchar_t* <a href="#CalculateScore"><i>CalculateScore</i></a>, const wchar_t* <a href="#MGParamName"><i>MGParamName</i></a>, const wchar_t* <a href="#MGParamValue"><i>MGParamValue</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HCamPar.html">HCamPar</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect1"><i>ImageRect1</i></a>, const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, const HPose&amp; <a href="#RelPoseRect"><i>RelPoseRect</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const HString&amp; <a href="#CalculateScore"><i>CalculateScore</i></a>, const HTuple&amp; <a href="#MGParamName"><i>MGParamName</i></a>, const HTuple&amp; <a href="#MGParamValue"><i>MGParamValue</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HCamPar.html">HCamPar</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect1"><i>ImageRect1</i></a>, const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, const HPose&amp; <a href="#RelPoseRect"><i>RelPoseRect</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const HString&amp; <a href="#CalculateScore"><i>CalculateScore</i></a>, const HString&amp; <a href="#MGParamName"><i>MGParamName</i></a>, const HString&amp; <a href="#MGParamValue"><i>MGParamValue</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HCamPar.html">HCamPar</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect1"><i>ImageRect1</i></a>, const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, const HPose&amp; <a href="#RelPoseRect"><i>RelPoseRect</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const char* <a href="#CalculateScore"><i>CalculateScore</i></a>, const char* <a href="#MGParamName"><i>MGParamName</i></a>, const char* <a href="#MGParamValue"><i>MGParamValue</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HCamPar.html">HCamPar</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect1"><i>ImageRect1</i></a>, const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, const HPose&amp; <a href="#RelPoseRect"><i>RelPoseRect</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const wchar_t* <a href="#CalculateScore"><i>CalculateScore</i></a>, const wchar_t* <a href="#MGParamName"><i>MGParamName</i></a>, const wchar_t* <a href="#MGParamValue"><i>MGParamValue</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HPose.html">HPose</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect1"><i>ImageRect1</i></a>, const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect1"><i>CamParamRect1</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const HString&amp; <a href="#CalculateScore"><i>CalculateScore</i></a>, const HTuple&amp; <a href="#MGParamName"><i>MGParamName</i></a>, const HTuple&amp; <a href="#MGParamValue"><i>MGParamValue</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HPose.html">HPose</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect1"><i>ImageRect1</i></a>, const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect1"><i>CamParamRect1</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const HString&amp; <a href="#CalculateScore"><i>CalculateScore</i></a>, const HString&amp; <a href="#MGParamName"><i>MGParamName</i></a>, const HString&amp; <a href="#MGParamValue"><i>MGParamValue</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HPose.html">HPose</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect1"><i>ImageRect1</i></a>, const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect1"><i>CamParamRect1</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const char* <a href="#CalculateScore"><i>CalculateScore</i></a>, const char* <a href="#MGParamName"><i>MGParamName</i></a>, const char* <a href="#MGParamValue"><i>MGParamValue</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HPose.html">HPose</a>::<b>BinocularDistanceMg</b>(const HImage&amp; <a href="#ImageRect1"><i>ImageRect1</i></a>, const HImage&amp; <a href="#ImageRect2"><i>ImageRect2</i></a>, HImage* <a href="#Score"><i>Score</i></a>, const HCamPar&amp; <a href="#CamParamRect1"><i>CamParamRect1</i></a>, const HCamPar&amp; <a href="#CamParamRect2"><i>CamParamRect2</i></a>, double <a href="#GrayConstancy"><i>GrayConstancy</i></a>, double <a href="#GradientConstancy"><i>GradientConstancy</i></a>, double <a href="#Smoothness"><i>Smoothness</i></a>, double <a href="#InitialGuess"><i>InitialGuess</i></a>, const wchar_t* <a href="#CalculateScore"><i>CalculateScore</i></a>, const wchar_t* <a href="#MGParamName"><i>MGParamName</i></a>, const wchar_t* <a href="#MGParamValue"><i>MGParamValue</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>BinocularDistanceMg</b>(<a href="HObject.html">HObject</a> <a href="#ImageRect1"><i>imageRect1</i></a>, <a href="HObject.html">HObject</a> <a href="#ImageRect2"><i>imageRect2</i></a>, out <a href="HObject.html">HObject</a> <a href="#Distance"><i>distance</i></a>, out <a href="HObject.html">HObject</a> <a href="#Score"><i>score</i></a>, <a href="HTuple.html">HTuple</a> <a href="#CamParamRect1"><i>camParamRect1</i></a>, <a href="HTuple.html">HTuple</a> <a href="#CamParamRect2"><i>camParamRect2</i></a>, <a href="HTuple.html">HTuple</a> <a href="#RelPoseRect"><i>relPoseRect</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GrayConstancy"><i>grayConstancy</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GradientConstancy"><i>gradientConstancy</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Smoothness"><i>smoothness</i></a>, <a href="HTuple.html">HTuple</a> <a href="#InitialGuess"><i>initialGuess</i></a>, <a href="HTuple.html">HTuple</a> <a href="#CalculateScore"><i>calculateScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MGParamName"><i>MGParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MGParamValue"><i>MGParamValue</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>.<b>BinocularDistanceMg</b>(<a href="HImage.html">HImage</a> <a href="#ImageRect2"><i>imageRect2</i></a>, out <a href="HImage.html">HImage</a> <a href="#Score"><i>score</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamRect1"><i>camParamRect1</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamRect2"><i>camParamRect2</i></a>, <a href="HPose.html">HPose</a> <a href="#RelPoseRect"><i>relPoseRect</i></a>, double <a href="#GrayConstancy"><i>grayConstancy</i></a>, double <a href="#GradientConstancy"><i>gradientConstancy</i></a>, double <a href="#Smoothness"><i>smoothness</i></a>, double <a href="#InitialGuess"><i>initialGuess</i></a>, string <a href="#CalculateScore"><i>calculateScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MGParamName"><i>MGParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MGParamValue"><i>MGParamValue</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>.<b>BinocularDistanceMg</b>(<a href="HImage.html">HImage</a> <a href="#ImageRect2"><i>imageRect2</i></a>, out <a href="HImage.html">HImage</a> <a href="#Score"><i>score</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamRect1"><i>camParamRect1</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamRect2"><i>camParamRect2</i></a>, <a href="HPose.html">HPose</a> <a href="#RelPoseRect"><i>relPoseRect</i></a>, double <a href="#GrayConstancy"><i>grayConstancy</i></a>, double <a href="#GradientConstancy"><i>gradientConstancy</i></a>, double <a href="#Smoothness"><i>smoothness</i></a>, double <a href="#InitialGuess"><i>initialGuess</i></a>, string <a href="#CalculateScore"><i>calculateScore</i></a>, string <a href="#MGParamName"><i>MGParamName</i></a>, string <a href="#MGParamValue"><i>MGParamValue</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HCamPar.html">HCamPar</a>.<b>BinocularDistanceMg</b>(<a href="HImage.html">HImage</a> <a href="#ImageRect1"><i>imageRect1</i></a>, <a href="HImage.html">HImage</a> <a href="#ImageRect2"><i>imageRect2</i></a>, out <a href="HImage.html">HImage</a> <a href="#Score"><i>score</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamRect2"><i>camParamRect2</i></a>, <a href="HPose.html">HPose</a> <a href="#RelPoseRect"><i>relPoseRect</i></a>, double <a href="#GrayConstancy"><i>grayConstancy</i></a>, double <a href="#GradientConstancy"><i>gradientConstancy</i></a>, double <a href="#Smoothness"><i>smoothness</i></a>, double <a href="#InitialGuess"><i>initialGuess</i></a>, string <a href="#CalculateScore"><i>calculateScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MGParamName"><i>MGParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MGParamValue"><i>MGParamValue</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HCamPar.html">HCamPar</a>.<b>BinocularDistanceMg</b>(<a href="HImage.html">HImage</a> <a href="#ImageRect1"><i>imageRect1</i></a>, <a href="HImage.html">HImage</a> <a href="#ImageRect2"><i>imageRect2</i></a>, out <a href="HImage.html">HImage</a> <a href="#Score"><i>score</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamRect2"><i>camParamRect2</i></a>, <a href="HPose.html">HPose</a> <a href="#RelPoseRect"><i>relPoseRect</i></a>, double <a href="#GrayConstancy"><i>grayConstancy</i></a>, double <a href="#GradientConstancy"><i>gradientConstancy</i></a>, double <a href="#Smoothness"><i>smoothness</i></a>, double <a href="#InitialGuess"><i>initialGuess</i></a>, string <a href="#CalculateScore"><i>calculateScore</i></a>, string <a href="#MGParamName"><i>MGParamName</i></a>, string <a href="#MGParamValue"><i>MGParamValue</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HPose.html">HPose</a>.<b>BinocularDistanceMg</b>(<a href="HImage.html">HImage</a> <a href="#ImageRect1"><i>imageRect1</i></a>, <a href="HImage.html">HImage</a> <a href="#ImageRect2"><i>imageRect2</i></a>, out <a href="HImage.html">HImage</a> <a href="#Score"><i>score</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamRect1"><i>camParamRect1</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamRect2"><i>camParamRect2</i></a>, double <a href="#GrayConstancy"><i>grayConstancy</i></a>, double <a href="#GradientConstancy"><i>gradientConstancy</i></a>, double <a href="#Smoothness"><i>smoothness</i></a>, double <a href="#InitialGuess"><i>initialGuess</i></a>, string <a href="#CalculateScore"><i>calculateScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MGParamName"><i>MGParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MGParamValue"><i>MGParamValue</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HPose.html">HPose</a>.<b>BinocularDistanceMg</b>(<a href="HImage.html">HImage</a> <a href="#ImageRect1"><i>imageRect1</i></a>, <a href="HImage.html">HImage</a> <a href="#ImageRect2"><i>imageRect2</i></a>, out <a href="HImage.html">HImage</a> <a href="#Score"><i>score</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamRect1"><i>camParamRect1</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamRect2"><i>camParamRect2</i></a>, double <a href="#GrayConstancy"><i>grayConstancy</i></a>, double <a href="#GradientConstancy"><i>gradientConstancy</i></a>, double <a href="#Smoothness"><i>smoothness</i></a>, double <a href="#InitialGuess"><i>initialGuess</i></a>, string <a href="#CalculateScore"><i>calculateScore</i></a>, string <a href="#MGParamName"><i>MGParamName</i></a>, string <a href="#MGParamValue"><i>MGParamValue</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>binocular_distance_mg</b>(<a href="#ImageRect1"><i>image_rect_1</i></a>: HObject, <a href="#ImageRect2"><i>image_rect_2</i></a>: HObject, <a href="#CamParamRect1"><i>cam_param_rect_1</i></a>: Sequence[Union[int, float, str]], <a href="#CamParamRect2"><i>cam_param_rect_2</i></a>: Sequence[Union[int, float, str]], <a href="#RelPoseRect"><i>rel_pose_rect</i></a>: Sequence[Union[int, float]], <a href="#GrayConstancy"><i>gray_constancy</i></a>: float, <a href="#GradientConstancy"><i>gradient_constancy</i></a>: float, <a href="#Smoothness"><i>smoothness</i></a>: float, <a href="#InitialGuess"><i>initial_guess</i></a>: float, <a href="#CalculateScore"><i>calculate_score</i></a>: str, <a href="#MGParamName"><i>mgparam_name</i></a>: MaybeSequence[str], <a href="#MGParamValue"><i>mgparam_value</i></a>: MaybeSequence[Union[str, float, int]]) -&gt; Tuple[HObject, HObject]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">binocular_distance_mg</span><span data-if="c" style="display:none">binocular_distance_mg</span><span data-if="cpp" style="display:none">BinocularDistanceMg</span><span data-if="com" style="display:none">BinocularDistanceMg</span><span data-if="dotnet" style="display:none">BinocularDistanceMg</span><span data-if="python" style="display:none">binocular_distance_mg</span></code> computes the distance values for a
rectified stereo image pair using multigrid methods. 该算子
first calculates the disparities between two rectified images
<a href="#ImageRect1"><i><code><span data-if="hdevelop" style="display:inline">ImageRect1</span><span data-if="c" style="display:none">ImageRect1</span><span data-if="cpp" style="display:none">ImageRect1</span><span data-if="com" style="display:none">ImageRect1</span><span data-if="dotnet" style="display:none">imageRect1</span><span data-if="python" style="display:none">image_rect_1</span></code></i></a> and <a href="#ImageRect2"><i><code><span data-if="hdevelop" style="display:inline">ImageRect2</span><span data-if="c" style="display:none">ImageRect2</span><span data-if="cpp" style="display:none">ImageRect2</span><span data-if="com" style="display:none">ImageRect2</span><span data-if="dotnet" style="display:none">imageRect2</span><span data-if="python" style="display:none">image_rect_2</span></code></i></a> similar to
<a href="binocular_disparity_mg.html"><code><span data-if="hdevelop" style="display:inline">binocular_disparity_mg</span><span data-if="c" style="display:none">binocular_disparity_mg</span><span data-if="cpp" style="display:none">BinocularDisparityMg</span><span data-if="com" style="display:none">BinocularDisparityMg</span><span data-if="dotnet" style="display:none">BinocularDisparityMg</span><span data-if="python" style="display:none">binocular_disparity_mg</span></code></a>. The resulting disparity values are
then transformed into distance values of the corresponding 3D world
points to the rectified stereo camera system as in
<a href="disparity_to_distance.html"><code><span data-if="hdevelop" style="display:inline">disparity_to_distance</span><span data-if="c" style="display:none">disparity_to_distance</span><span data-if="cpp" style="display:none">DisparityToDistance</span><span data-if="com" style="display:none">DisparityToDistance</span><span data-if="dotnet" style="display:none">DisparityToDistance</span><span data-if="python" style="display:none">disparity_to_distance</span></code></a>. The distances are returned in the
single-channel image <a href="#Distance"><i><code><span data-if="hdevelop" style="display:inline">Distance</span><span data-if="c" style="display:none">Distance</span><span data-if="cpp" style="display:none">Distance</span><span data-if="com" style="display:none">Distance</span><span data-if="dotnet" style="display:none">distance</span><span data-if="python" style="display:none">distance</span></code></i></a> in which each gray value
represents the distance of the respective 3D world point to the
stereo camera system.  Different from <a href="binocular_distance.html"><code><span data-if="hdevelop" style="display:inline">binocular_distance</span><span data-if="c" style="display:none">binocular_distance</span><span data-if="cpp" style="display:none">BinocularDistance</span><span data-if="com" style="display:none">BinocularDistance</span><span data-if="dotnet" style="display:none">BinocularDistance</span><span data-if="python" style="display:none">binocular_distance</span></code></a>
this operator uses a variational approach based on multigrid
methods. This approach returns distance values also for image parts
that contain no texture.
</p>
<p>The input images <a href="#ImageRect1"><i><code><span data-if="hdevelop" style="display:inline">ImageRect1</span><span data-if="c" style="display:none">ImageRect1</span><span data-if="cpp" style="display:none">ImageRect1</span><span data-if="com" style="display:none">ImageRect1</span><span data-if="dotnet" style="display:none">imageRect1</span><span data-if="python" style="display:none">image_rect_1</span></code></i></a> and <a href="#ImageRect2"><i><code><span data-if="hdevelop" style="display:inline">ImageRect2</span><span data-if="c" style="display:none">ImageRect2</span><span data-if="cpp" style="display:none">ImageRect2</span><span data-if="com" style="display:none">ImageRect2</span><span data-if="dotnet" style="display:none">imageRect2</span><span data-if="python" style="display:none">image_rect_2</span></code></i></a> must be
a pair of rectified stereo images, i.e., corresponding points must
have the same row coordinate. In case this assumption is violated
the images can be rectified by using 该算子s
<a href="calibrate_cameras.html"><code><span data-if="hdevelop" style="display:inline">calibrate_cameras</span><span data-if="c" style="display:none">calibrate_cameras</span><span data-if="cpp" style="display:none">CalibrateCameras</span><span data-if="com" style="display:none">CalibrateCameras</span><span data-if="dotnet" style="display:none">CalibrateCameras</span><span data-if="python" style="display:none">calibrate_cameras</span></code></a>, <a href="gen_binocular_rectification_map.html"><code><span data-if="hdevelop" style="display:inline">gen_binocular_rectification_map</span><span data-if="c" style="display:none">gen_binocular_rectification_map</span><span data-if="cpp" style="display:none">GenBinocularRectificationMap</span><span data-if="com" style="display:none">GenBinocularRectificationMap</span><span data-if="dotnet" style="display:none">GenBinocularRectificationMap</span><span data-if="python" style="display:none">gen_binocular_rectification_map</span></code></a>
and <a href="map_image.html"><code><span data-if="hdevelop" style="display:inline">map_image</span><span data-if="c" style="display:none">map_image</span><span data-if="cpp" style="display:none">MapImage</span><span data-if="com" style="display:none">MapImage</span><span data-if="dotnet" style="display:none">MapImage</span><span data-if="python" style="display:none">map_image</span></code></a>.
</p>
<p>For the transformation of the disparity to the distance, the
internal camera parameters of the rectified camera 1
<a href="#CamParamRect1"><i><code><span data-if="hdevelop" style="display:inline">CamParamRect1</span><span data-if="c" style="display:none">CamParamRect1</span><span data-if="cpp" style="display:none">CamParamRect1</span><span data-if="com" style="display:none">CamParamRect1</span><span data-if="dotnet" style="display:none">camParamRect1</span><span data-if="python" style="display:none">cam_param_rect_1</span></code></i></a> and of the rectified camera 2
<a href="#CamParamRect2"><i><code><span data-if="hdevelop" style="display:inline">CamParamRect2</span><span data-if="c" style="display:none">CamParamRect2</span><span data-if="cpp" style="display:none">CamParamRect2</span><span data-if="com" style="display:none">CamParamRect2</span><span data-if="dotnet" style="display:none">camParamRect2</span><span data-if="python" style="display:none">cam_param_rect_2</span></code></i></a>, as well as the relative pose of the cameras
<a href="#RelPoseRect"><i><code><span data-if="hdevelop" style="display:inline">RelPoseRect</span><span data-if="c" style="display:none">RelPoseRect</span><span data-if="cpp" style="display:none">RelPoseRect</span><span data-if="com" style="display:none">RelPoseRect</span><span data-if="dotnet" style="display:none">relPoseRect</span><span data-if="python" style="display:none">rel_pose_rect</span></code></i></a> must be specified.  The relative pose defines a
point transformation from the rectified camera system 2 to the
rectified camera system 1.  These parameters can be obtained from
该算子s <a href="calibrate_cameras.html"><code><span data-if="hdevelop" style="display:inline">calibrate_cameras</span><span data-if="c" style="display:none">calibrate_cameras</span><span data-if="cpp" style="display:none">CalibrateCameras</span><span data-if="com" style="display:none">CalibrateCameras</span><span data-if="dotnet" style="display:none">CalibrateCameras</span><span data-if="python" style="display:none">calibrate_cameras</span></code></a> and
<a href="gen_binocular_rectification_map.html"><code><span data-if="hdevelop" style="display:inline">gen_binocular_rectification_map</span><span data-if="c" style="display:none">gen_binocular_rectification_map</span><span data-if="cpp" style="display:none">GenBinocularRectificationMap</span><span data-if="com" style="display:none">GenBinocularRectificationMap</span><span data-if="dotnet" style="display:none">GenBinocularRectificationMap</span><span data-if="python" style="display:none">gen_binocular_rectification_map</span></code></a>.
</p>
<p>A detailed description of the algorithm and of the remaining
parameters can be found in the documentation of
<a href="binocular_disparity_mg.html"><code><span data-if="hdevelop" style="display:inline">binocular_disparity_mg</span><span data-if="c" style="display:none">binocular_disparity_mg</span><span data-if="cpp" style="display:none">BinocularDisparityMg</span><span data-if="com" style="display:none">BinocularDisparityMg</span><span data-if="dotnet" style="display:none">BinocularDisparityMg</span><span data-if="python" style="display:none">binocular_disparity_mg</span></code></a>.</p>
<h2 id="sec_attention">注意</h2>
<p>If using cameras with telecentric lenses, the <a href="#Distance"><i><code><span data-if="hdevelop" style="display:inline">Distance</span><span data-if="c" style="display:none">Distance</span><span data-if="cpp" style="display:none">Distance</span><span data-if="com" style="display:none">Distance</span><span data-if="dotnet" style="display:none">distance</span><span data-if="python" style="display:none">distance</span></code></i></a> is
not defined as the distance of a point to the camera but as the
distance from the point to the plane, defined by the y-axes of both
cameras and their baseline (see
<a href="gen_binocular_rectification_map.html"><code><span data-if="hdevelop" style="display:inline">gen_binocular_rectification_map</span><span data-if="c" style="display:none">gen_binocular_rectification_map</span><span data-if="cpp" style="display:none">GenBinocularRectificationMap</span><span data-if="com" style="display:none">GenBinocularRectificationMap</span><span data-if="dotnet" style="display:none">GenBinocularRectificationMap</span><span data-if="python" style="display:none">gen_binocular_rectification_map</span></code></a>).
</p>
<p>For a stereo setup of mixed type (i.e., for a stereo setup in which
one of the original cameras is a perspective camera and the other
camera is a telecentric camera; see
<a href="gen_binocular_rectification_map.html"><code><span data-if="hdevelop" style="display:inline">gen_binocular_rectification_map</span><span data-if="c" style="display:none">gen_binocular_rectification_map</span><span data-if="cpp" style="display:none">GenBinocularRectificationMap</span><span data-if="com" style="display:none">GenBinocularRectificationMap</span><span data-if="dotnet" style="display:none">GenBinocularRectificationMap</span><span data-if="python" style="display:none">gen_binocular_rectification_map</span></code></a>), the rectifying plane of
the two cameras is in a position with respect to the object that
would lead to very unintuitive distances.  Therefore,
<code><span data-if="hdevelop" style="display:inline">binocular_distance_mg</span><span data-if="c" style="display:none">binocular_distance_mg</span><span data-if="cpp" style="display:none">BinocularDistanceMg</span><span data-if="com" style="display:none">BinocularDistanceMg</span><span data-if="dotnet" style="display:none">BinocularDistanceMg</span><span data-if="python" style="display:none">binocular_distance_mg</span></code> does not support a stereo setup of
mixed type.  For stereo setups of mixed type, please use
<a href="reconstruct_surface_stereo.html"><code><span data-if="hdevelop" style="display:inline">reconstruct_surface_stereo</span><span data-if="c" style="display:none">reconstruct_surface_stereo</span><span data-if="cpp" style="display:none">ReconstructSurfaceStereo</span><span data-if="com" style="display:none">ReconstructSurfaceStereo</span><span data-if="dotnet" style="display:none">ReconstructSurfaceStereo</span><span data-if="python" style="display:none">reconstruct_surface_stereo</span></code></a>, in which the reference
coordinate system can be chosen arbitrarily.  Alternatively,
<a href="binocular_disparity_mg.html"><code><span data-if="hdevelop" style="display:inline">binocular_disparity_mg</span><span data-if="c" style="display:none">binocular_disparity_mg</span><span data-if="cpp" style="display:none">BinocularDisparityMg</span><span data-if="com" style="display:none">BinocularDisparityMg</span><span data-if="dotnet" style="display:none">BinocularDisparityMg</span><span data-if="python" style="display:none">binocular_disparity_mg</span></code></a> and <a href="disparity_image_to_xyz.html"><code><span data-if="hdevelop" style="display:inline">disparity_image_to_xyz</span><span data-if="c" style="display:none">disparity_image_to_xyz</span><span data-if="cpp" style="display:none">DisparityImageToXyz</span><span data-if="com" style="display:none">DisparityImageToXyz</span><span data-if="dotnet" style="display:none">DisparityImageToXyz</span><span data-if="python" style="display:none">disparity_image_to_xyz</span></code></a>
might be used.
</p>
<p>Additionally, stereo setups that contain cameras with and without hypercentric
lenses at the same time are not supported.</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>在元组级别自动并行化。</li>
    <li>Automatically parallelized on internal data level.</li>
  
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="ImageRect1" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ImageRect1</span><span data-if="c" style="display:none">ImageRect1</span><span data-if="cpp" style="display:none">ImageRect1</span><span data-if="com" style="display:none">ImageRect1</span><span data-if="dotnet" style="display:none">imageRect1</span><span data-if="python" style="display:none">image_rect_1</span></code></b> (input_object)  </span><span>singlechannelimage(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject</span> (byte / uint2 / real)</span>
</div>
<p class="pardesc">Rectified image of camera 1.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ImageRect2" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ImageRect2</span><span data-if="c" style="display:none">ImageRect2</span><span data-if="cpp" style="display:none">ImageRect2</span><span data-if="com" style="display:none">ImageRect2</span><span data-if="dotnet" style="display:none">imageRect2</span><span data-if="python" style="display:none">image_rect_2</span></code></b> (input_object)  </span><span>singlechannelimage(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject</span> (byte / uint2 / real)</span>
</div>
<p class="pardesc">Rectified image of camera 2.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Distance" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Distance</span><span data-if="c" style="display:none">Distance</span><span data-if="cpp" style="display:none">Distance</span><span data-if="com" style="display:none">Distance</span><span data-if="dotnet" style="display:none">distance</span><span data-if="python" style="display:none">distance</span></code></b> (output_object)  </span><span>singlechannelimage(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject *</span> (real)</span>
</div>
<p class="pardesc">Distance image.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Score" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Score</span><span data-if="c" style="display:none">Score</span><span data-if="cpp" style="display:none">Score</span><span data-if="com" style="display:none">Score</span><span data-if="dotnet" style="display:none">score</span><span data-if="python" style="display:none">score</span></code></b> (output_object)  </span><span>singlechannelimage(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject *</span> (real)</span>
</div>
<p class="pardesc">Score of the calculated disparity if
<a href="#CalculateScore"><i><code><span data-if="hdevelop" style="display:inline">CalculateScore</span><span data-if="c" style="display:none">CalculateScore</span><span data-if="cpp" style="display:none">CalculateScore</span><span data-if="com" style="display:none">CalculateScore</span><span data-if="dotnet" style="display:none">calculateScore</span><span data-if="python" style="display:none">calculate_score</span></code></i></a> is set to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="CamParamRect1" class="parname"><b><code><span data-if="hdevelop" style="display:inline">CamParamRect1</span><span data-if="c" style="display:none">CamParamRect1</span><span data-if="cpp" style="display:none">CamParamRect1</span><span data-if="com" style="display:none">CamParamRect1</span><span data-if="dotnet" style="display:none">camParamRect1</span><span data-if="python" style="display:none">cam_param_rect_1</span></code></b> (input_control)  </span><span>campar <code>→</code> <span data-if="dotnet" style="display:none"><a href="HCamPar.html">HCamPar</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[int, float, str]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer / </span><span data-if="hdevelop" style="display:inline">string)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">string)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong / </span><span data-if="cpp" style="display:none">HString)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong / </span><span data-if="c" style="display:none">char*)</span></span>
</div>
<p class="pardesc">Internal camera parameters of the rectified camera 1.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="CamParamRect2" class="parname"><b><code><span data-if="hdevelop" style="display:inline">CamParamRect2</span><span data-if="c" style="display:none">CamParamRect2</span><span data-if="cpp" style="display:none">CamParamRect2</span><span data-if="com" style="display:none">CamParamRect2</span><span data-if="dotnet" style="display:none">camParamRect2</span><span data-if="python" style="display:none">cam_param_rect_2</span></code></b> (input_control)  </span><span>campar <code>→</code> <span data-if="dotnet" style="display:none"><a href="HCamPar.html">HCamPar</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[int, float, str]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer / </span><span data-if="hdevelop" style="display:inline">string)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">string)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong / </span><span data-if="cpp" style="display:none">HString)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong / </span><span data-if="c" style="display:none">char*)</span></span>
</div>
<p class="pardesc">Internal camera parameters of the rectified camera 2.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="RelPoseRect" class="parname"><b><code><span data-if="hdevelop" style="display:inline">RelPoseRect</span><span data-if="c" style="display:none">RelPoseRect</span><span data-if="cpp" style="display:none">RelPoseRect</span><span data-if="com" style="display:none">RelPoseRect</span><span data-if="dotnet" style="display:none">relPoseRect</span><span data-if="python" style="display:none">rel_pose_rect</span></code></b> (input_control)  </span><span>pose <code>→</code> <span data-if="dotnet" style="display:none"><a href="HPose.html">HPose</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[int, float]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Point transformation from the rectified camera 2 to
the rectified camera 1.</p>
<p class="pardesc"><span class="parcat">Number of elements:
      </span>7</p>
</div>
  <div class="par">
<div class="parhead">
<span id="GrayConstancy" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GrayConstancy</span><span data-if="c" style="display:none">GrayConstancy</span><span data-if="cpp" style="display:none">GrayConstancy</span><span data-if="com" style="display:none">GrayConstancy</span><span data-if="dotnet" style="display:none">grayConstancy</span><span data-if="python" style="display:none">gray_constancy</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">float</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Weight of the gray value constancy in the data term.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>1.0</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0.0, 1.0, 2.0, 10.0</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>GrayConstancy &gt;= 0.0</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GradientConstancy" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GradientConstancy</span><span data-if="c" style="display:none">GradientConstancy</span><span data-if="cpp" style="display:none">GradientConstancy</span><span data-if="com" style="display:none">GradientConstancy</span><span data-if="dotnet" style="display:none">gradientConstancy</span><span data-if="python" style="display:none">gradient_constancy</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">float</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Weight of the gradient constancy in the data term.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>30.0</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0.0, 1.0, 5.0, 10.0, 30.0, 50.0, 70.0</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>GradientConstancy &gt;= 0.0</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Smoothness" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Smoothness</span><span data-if="c" style="display:none">Smoothness</span><span data-if="cpp" style="display:none">Smoothness</span><span data-if="com" style="display:none">Smoothness</span><span data-if="dotnet" style="display:none">smoothness</span><span data-if="python" style="display:none">smoothness</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">float</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Weight of the smoothness term in relation to the
data term.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>5.0</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>1.0, 3.0, 5.0, 10.0</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>Smoothness &gt; 0.0</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="InitialGuess" class="parname"><b><code><span data-if="hdevelop" style="display:inline">InitialGuess</span><span data-if="c" style="display:none">InitialGuess</span><span data-if="cpp" style="display:none">InitialGuess</span><span data-if="com" style="display:none">InitialGuess</span><span data-if="dotnet" style="display:none">initialGuess</span><span data-if="python" style="display:none">initial_guess</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">float</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Initial guess of the disparity.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>0.0</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>-30.0, -20.0, -10.0, 0.0, 10.0, 20.0, 30.0</p>
</div>
  <div class="par">
<div class="parhead">
<span id="CalculateScore" class="parname"><b><code><span data-if="hdevelop" style="display:inline">CalculateScore</span><span data-if="c" style="display:none">CalculateScore</span><span data-if="cpp" style="display:none">CalculateScore</span><span data-if="com" style="display:none">CalculateScore</span><span data-if="dotnet" style="display:none">calculateScore</span><span data-if="python" style="display:none">calculate_score</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Should the quality measure be returned in
<a href="#Score"><i><code><span data-if="hdevelop" style="display:inline">Score</span><span data-if="c" style="display:none">Score</span><span data-if="cpp" style="display:none">Score</span><span data-if="com" style="display:none">Score</span><span data-if="dotnet" style="display:none">score</span><span data-if="python" style="display:none">score</span></code></i></a>?</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'false'</span>
    <span data-if="c" style="display:none">"false"</span>
    <span data-if="cpp" style="display:none">"false"</span>
    <span data-if="com" style="display:none">"false"</span>
    <span data-if="dotnet" style="display:none">"false"</span>
    <span data-if="python" style="display:none">"false"</span>
</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span>, <span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="MGParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">MGParamName</span><span data-if="c" style="display:none">MGParamName</span><span data-if="cpp" style="display:none">MGParamName</span><span data-if="com" style="display:none">MGParamName</span><span data-if="dotnet" style="display:none">MGParamName</span><span data-if="python" style="display:none">mgparam_name</span></code></b> (input_control)  </span><span>attribute.name(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Parameter name(s) for the multigrid algorithm.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'default_parameters'</span>
    <span data-if="c" style="display:none">"default_parameters"</span>
    <span data-if="cpp" style="display:none">"default_parameters"</span>
    <span data-if="com" style="display:none">"default_parameters"</span>
    <span data-if="dotnet" style="display:none">"default_parameters"</span>
    <span data-if="python" style="display:none">"default_parameters"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'default_parameters'</span><span data-if="c" style="display:none">"default_parameters"</span><span data-if="cpp" style="display:none">"default_parameters"</span><span data-if="com" style="display:none">"default_parameters"</span><span data-if="dotnet" style="display:none">"default_parameters"</span><span data-if="python" style="display:none">"default_parameters"</span>, <span data-if="hdevelop" style="display:inline">'initial_level'</span><span data-if="c" style="display:none">"initial_level"</span><span data-if="cpp" style="display:none">"initial_level"</span><span data-if="com" style="display:none">"initial_level"</span><span data-if="dotnet" style="display:none">"initial_level"</span><span data-if="python" style="display:none">"initial_level"</span>, <span data-if="hdevelop" style="display:inline">'iterations'</span><span data-if="c" style="display:none">"iterations"</span><span data-if="cpp" style="display:none">"iterations"</span><span data-if="com" style="display:none">"iterations"</span><span data-if="dotnet" style="display:none">"iterations"</span><span data-if="python" style="display:none">"iterations"</span>, <span data-if="hdevelop" style="display:inline">'mg_cycle_type'</span><span data-if="c" style="display:none">"mg_cycle_type"</span><span data-if="cpp" style="display:none">"mg_cycle_type"</span><span data-if="com" style="display:none">"mg_cycle_type"</span><span data-if="dotnet" style="display:none">"mg_cycle_type"</span><span data-if="python" style="display:none">"mg_cycle_type"</span>, <span data-if="hdevelop" style="display:inline">'mg_post_relax'</span><span data-if="c" style="display:none">"mg_post_relax"</span><span data-if="cpp" style="display:none">"mg_post_relax"</span><span data-if="com" style="display:none">"mg_post_relax"</span><span data-if="dotnet" style="display:none">"mg_post_relax"</span><span data-if="python" style="display:none">"mg_post_relax"</span>, <span data-if="hdevelop" style="display:inline">'mg_pre_relax'</span><span data-if="c" style="display:none">"mg_pre_relax"</span><span data-if="cpp" style="display:none">"mg_pre_relax"</span><span data-if="com" style="display:none">"mg_pre_relax"</span><span data-if="dotnet" style="display:none">"mg_pre_relax"</span><span data-if="python" style="display:none">"mg_pre_relax"</span>, <span data-if="hdevelop" style="display:inline">'mg_solver'</span><span data-if="c" style="display:none">"mg_solver"</span><span data-if="cpp" style="display:none">"mg_solver"</span><span data-if="com" style="display:none">"mg_solver"</span><span data-if="dotnet" style="display:none">"mg_solver"</span><span data-if="python" style="display:none">"mg_solver"</span>, <span data-if="hdevelop" style="display:inline">'pyramid_factor'</span><span data-if="c" style="display:none">"pyramid_factor"</span><span data-if="cpp" style="display:none">"pyramid_factor"</span><span data-if="com" style="display:none">"pyramid_factor"</span><span data-if="dotnet" style="display:none">"pyramid_factor"</span><span data-if="python" style="display:none">"pyramid_factor"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="MGParamValue" class="parname"><b><code><span data-if="hdevelop" style="display:inline">MGParamValue</span><span data-if="c" style="display:none">MGParamValue</span><span data-if="cpp" style="display:none">MGParamValue</span><span data-if="com" style="display:none">MGParamValue</span><span data-if="dotnet" style="display:none">MGParamValue</span><span data-if="python" style="display:none">mgparam_value</span></code></b> (input_control)  </span><span>attribute.value(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[str, float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">double / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">double / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">double / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Parameter value(s) for the multigrid algorithm.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'fast_accurate'</span>
    <span data-if="c" style="display:none">"fast_accurate"</span>
    <span data-if="cpp" style="display:none">"fast_accurate"</span>
    <span data-if="com" style="display:none">"fast_accurate"</span>
    <span data-if="dotnet" style="display:none">"fast_accurate"</span>
    <span data-if="python" style="display:none">"fast_accurate"</span>
</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'very_accurate'</span><span data-if="c" style="display:none">"very_accurate"</span><span data-if="cpp" style="display:none">"very_accurate"</span><span data-if="com" style="display:none">"very_accurate"</span><span data-if="dotnet" style="display:none">"very_accurate"</span><span data-if="python" style="display:none">"very_accurate"</span>, <span data-if="hdevelop" style="display:inline">'accurate'</span><span data-if="c" style="display:none">"accurate"</span><span data-if="cpp" style="display:none">"accurate"</span><span data-if="com" style="display:none">"accurate"</span><span data-if="dotnet" style="display:none">"accurate"</span><span data-if="python" style="display:none">"accurate"</span>, <span data-if="hdevelop" style="display:inline">'fast_accurate'</span><span data-if="c" style="display:none">"fast_accurate"</span><span data-if="cpp" style="display:none">"fast_accurate"</span><span data-if="com" style="display:none">"fast_accurate"</span><span data-if="dotnet" style="display:none">"fast_accurate"</span><span data-if="python" style="display:none">"fast_accurate"</span>, <span data-if="hdevelop" style="display:inline">'fast'</span><span data-if="c" style="display:none">"fast"</span><span data-if="cpp" style="display:none">"fast"</span><span data-if="com" style="display:none">"fast"</span><span data-if="dotnet" style="display:none">"fast"</span><span data-if="python" style="display:none">"fast"</span>, <span data-if="hdevelop" style="display:inline">'v'</span><span data-if="c" style="display:none">"v"</span><span data-if="cpp" style="display:none">"v"</span><span data-if="com" style="display:none">"v"</span><span data-if="dotnet" style="display:none">"v"</span><span data-if="python" style="display:none">"v"</span>, <span data-if="hdevelop" style="display:inline">'w'</span><span data-if="c" style="display:none">"w"</span><span data-if="cpp" style="display:none">"w"</span><span data-if="com" style="display:none">"w"</span><span data-if="dotnet" style="display:none">"w"</span><span data-if="python" style="display:none">"w"</span>, <span data-if="hdevelop" style="display:inline">'none'</span><span data-if="c" style="display:none">"none"</span><span data-if="cpp" style="display:none">"none"</span><span data-if="com" style="display:none">"none"</span><span data-if="dotnet" style="display:none">"none"</span><span data-if="python" style="display:none">"none"</span>, <span data-if="hdevelop" style="display:inline">'gauss_seidel'</span><span data-if="c" style="display:none">"gauss_seidel"</span><span data-if="cpp" style="display:none">"gauss_seidel"</span><span data-if="com" style="display:none">"gauss_seidel"</span><span data-if="dotnet" style="display:none">"gauss_seidel"</span><span data-if="python" style="display:none">"gauss_seidel"</span>, <span data-if="hdevelop" style="display:inline">'multigrid'</span><span data-if="c" style="display:none">"multigrid"</span><span data-if="cpp" style="display:none">"multigrid"</span><span data-if="com" style="display:none">"multigrid"</span><span data-if="dotnet" style="display:none">"multigrid"</span><span data-if="python" style="display:none">"multigrid"</span>, <span data-if="hdevelop" style="display:inline">'full_multigrid'</span><span data-if="c" style="display:none">"full_multigrid"</span><span data-if="cpp" style="display:none">"full_multigrid"</span><span data-if="com" style="display:none">"full_multigrid"</span><span data-if="dotnet" style="display:none">"full_multigrid"</span><span data-if="python" style="display:none">"full_multigrid"</span>, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, -1, -2, -3, -4, -5</p>
</div>
<h2 id="sec_result">结果</h2>
<p>If the parameter values are correct, <code><span data-if="hdevelop" style="display:inline">binocular_distance_mg</span><span data-if="c" style="display:none">binocular_distance_mg</span><span data-if="cpp" style="display:none">BinocularDistanceMg</span><span data-if="com" style="display:none">BinocularDistanceMg</span><span data-if="dotnet" style="display:none">BinocularDistanceMg</span><span data-if="python" style="display:none">binocular_distance_mg</span></code>
返回值 <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    .  If the input is empty (no input images are
available) the behavior can be set via
<a href="set_system.html"><code><span data-if="hdevelop" style="display:inline">set_system('no_object_result',&lt;Result&gt;)</span><span data-if="c" style="display:none">set_system("no_object_result",&lt;Result&gt;)</span><span data-if="cpp" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="com" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="dotnet" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="python" style="display:none">set_system("no_object_result",&lt;Result&gt;)</span></code></a>.  If necessary, an
exception is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="map_image.html"><span data-if="hdevelop" style="display:inline">map_image</span><span data-if="c" style="display:none">map_image</span><span data-if="cpp" style="display:none">MapImage</span><span data-if="com" style="display:none">MapImage</span><span data-if="dotnet" style="display:none">MapImage</span><span data-if="python" style="display:none">map_image</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="threshold.html"><span data-if="hdevelop" style="display:inline">threshold</span><span data-if="c" style="display:none">threshold</span><span data-if="cpp" style="display:none">Threshold</span><span data-if="com" style="display:none">Threshold</span><span data-if="dotnet" style="display:none">Threshold</span><span data-if="python" style="display:none">threshold</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="binocular_distance.html"><span data-if="hdevelop" style="display:inline">binocular_distance</span><span data-if="c" style="display:none">binocular_distance</span><span data-if="cpp" style="display:none">BinocularDistance</span><span data-if="com" style="display:none">BinocularDistance</span><span data-if="dotnet" style="display:none">BinocularDistance</span><span data-if="python" style="display:none">binocular_distance</span></a></code>, 
<code><a href="binocular_distance_ms.html"><span data-if="hdevelop" style="display:inline">binocular_distance_ms</span><span data-if="c" style="display:none">binocular_distance_ms</span><span data-if="cpp" style="display:none">BinocularDistanceMs</span><span data-if="com" style="display:none">BinocularDistanceMs</span><span data-if="dotnet" style="display:none">BinocularDistanceMs</span><span data-if="python" style="display:none">binocular_distance_ms</span></a></code>, 
<code><a href="binocular_disparity.html"><span data-if="hdevelop" style="display:inline">binocular_disparity</span><span data-if="c" style="display:none">binocular_disparity</span><span data-if="cpp" style="display:none">BinocularDisparity</span><span data-if="com" style="display:none">BinocularDisparity</span><span data-if="dotnet" style="display:none">BinocularDisparity</span><span data-if="python" style="display:none">binocular_disparity</span></a></code>, 
<code><a href="binocular_disparity_mg.html"><span data-if="hdevelop" style="display:inline">binocular_disparity_mg</span><span data-if="c" style="display:none">binocular_disparity_mg</span><span data-if="cpp" style="display:none">BinocularDisparityMg</span><span data-if="com" style="display:none">BinocularDisparityMg</span><span data-if="dotnet" style="display:none">BinocularDisparityMg</span><span data-if="python" style="display:none">binocular_disparity_mg</span></a></code>, 
<code><a href="binocular_disparity_ms.html"><span data-if="hdevelop" style="display:inline">binocular_disparity_ms</span><span data-if="c" style="display:none">binocular_disparity_ms</span><span data-if="cpp" style="display:none">BinocularDisparityMs</span><span data-if="com" style="display:none">BinocularDisparityMs</span><span data-if="dotnet" style="display:none">BinocularDisparityMs</span><span data-if="python" style="display:none">binocular_disparity_ms</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="map_image.html"><span data-if="hdevelop" style="display:inline">map_image</span><span data-if="c" style="display:none">map_image</span><span data-if="cpp" style="display:none">MapImage</span><span data-if="com" style="display:none">MapImage</span><span data-if="dotnet" style="display:none">MapImage</span><span data-if="python" style="display:none">map_image</span></a></code>, 
<code><a href="gen_binocular_rectification_map.html"><span data-if="hdevelop" style="display:inline">gen_binocular_rectification_map</span><span data-if="c" style="display:none">gen_binocular_rectification_map</span><span data-if="cpp" style="display:none">GenBinocularRectificationMap</span><span data-if="com" style="display:none">GenBinocularRectificationMap</span><span data-if="dotnet" style="display:none">GenBinocularRectificationMap</span><span data-if="python" style="display:none">gen_binocular_rectification_map</span></a></code>, 
<code><a href="binocular_calibration.html"><span data-if="hdevelop" style="display:inline">binocular_calibration</span><span data-if="c" style="display:none">binocular_calibration</span><span data-if="cpp" style="display:none">BinocularCalibration</span><span data-if="com" style="display:none">BinocularCalibration</span><span data-if="dotnet" style="display:none">BinocularCalibration</span><span data-if="python" style="display:none">binocular_calibration</span></a></code>, 
<code><a href="disparity_to_distance.html"><span data-if="hdevelop" style="display:inline">disparity_to_distance</span><span data-if="c" style="display:none">disparity_to_distance</span><span data-if="cpp" style="display:none">DisparityToDistance</span><span data-if="com" style="display:none">DisparityToDistance</span><span data-if="dotnet" style="display:none">DisparityToDistance</span><span data-if="python" style="display:none">disparity_to_distance</span></a></code>, 
<code><a href="distance_to_disparity.html"><span data-if="hdevelop" style="display:inline">distance_to_disparity</span><span data-if="c" style="display:none">distance_to_disparity</span><span data-if="cpp" style="display:none">DistanceToDisparity</span><span data-if="com" style="display:none">DistanceToDisparity</span><span data-if="dotnet" style="display:none">DistanceToDisparity</span><span data-if="python" style="display:none">distance_to_disparity</span></a></code>, 
<code><a href="disparity_image_to_xyz.html"><span data-if="hdevelop" style="display:inline">disparity_image_to_xyz</span><span data-if="c" style="display:none">disparity_image_to_xyz</span><span data-if="cpp" style="display:none">DisparityImageToXyz</span><span data-if="com" style="display:none">DisparityImageToXyz</span><span data-if="dotnet" style="display:none">DisparityImageToXyz</span><span data-if="python" style="display:none">disparity_image_to_xyz</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
3D Metrology</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
